package com.lanyun.oss.service;

import com.lanyun.oss.entity.File;
import org.springframework.web.multipart.MultipartFile;


/**
 * 文件表，用于存储文件的基本信息(File)表服务接口
 *
 * @author makejava
 * @since 2025-03-16 15:28:50
 */
public interface FileService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    File queryById(Long id);


    /**
     * 新增数据
     *
     * @param file      实例对象
     * @param productId
     * @return 实例对象
     */
    void insert(MultipartFile file, String filePath, String productId, String detailType);


    /**
     * 修改数据
     *
     * @param file 实例对象
     * @return 实例对象
     */
    File update(File file);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);

    /**
     * 文件上传
     *
     * @param file
     * @param productId
     * @param detailType
     */
    void saveFile(MultipartFile file, String filePath, String productId, String detailType);

    /**
     * 删除图片
     *
     * @param file
     * @return
     */
    Boolean delete(File file);
}
